//yield* yiled //代理yield
function* run(){
  console.log('step in child generator');
  var b = yield 'running';
  console.log(b);
  console.log('set out child generator');
}

var runGenerator = run();

function* start(){
  var a = yield 'start';
  console.log(a);
  yield *runGenerator;
  var c = yield 'end';
  console.log(c);
  return 'over';
}

var it = start();
console.log(it.next()); // {value: 'start', done:false}
console.log(it.next(22)); // 22 step in child generator {value: 'running',done: false}
console.log(it.next(333)); // 333 set out child generator {value: 'end',done: false}
console.log(it.next(4444)); // 4444 {value: 'over',done: true}
